package linter.mapper;

import linter.POJO.DO.Note;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import linter.POJO.DTO.NoteDTO;
import linter.POJO.UtilDTO.NoteUtilDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author 北煜
* @description 针对表【note】的数据库操作Mapper
* @createDate 2023-07-25 09:30:43
* @Entity linter.POJO.DO.Note
*/
public interface NoteMapper extends BaseMapper<Note> {
    /**
     * @param uuid 用户ID
     */
    List<NoteDTO> selectNoteByUuid(@Param("uuid") Long uuid);

    /**
     * @param uuid                  用户ID
     * @param noteId                笔记ID
     * @param noteJsonStr           笔记内容
     * @return                      返回影响行数
     */
    boolean updataNoteJsonByUser(@Param("uuid") Long uuid, @Param("noteId") Long noteId, @Param("noteJsonStr") String noteJsonStr);

    /**
     * @param uuid 用户ID
     * @return 返回查找到的笔记标题和图片
     */
    List<NoteUtilDTO> selectNoteImgAndNoteTitleByUuid(@Param("uuid") Long uuid);

    /**
     * @param uuid 用户ID
     * @param noteId 笔记ID
     * @return 返回内容
     */
    Object getNote(@Param("uuid") Long uuid, @Param("noteId") Long noteId);

    /**
     * @param noteId 笔记ID
     * @param uuid 用户ID
     * @return 1/0
     */
    boolean updateByNoteId(@Param("noteId") Long noteId, @Param("uuid") Long uuid);

    /**
     * @param uuid 用户ID
     * @return 数据
     */
    List<NoteDTO> selectViewsNote(@Param("uuid") Long uuid);

    /**
     * @param uuid 用户ID
     * @return 返回数据
     */
    List<Note> selectRecentFiles(@Param("uuid") Long uuid);
}




